////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

Log.print('service module: sxesi');

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

Service.sxesi = {};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////@

// Το πρώτο βήμα στην αναζήτηση των παικτών περιλαμβάνει τον έλεγχο του αιτούντος
// και την ανατομή των κριτηρίων.

Service.sxesi.action = function(req) {
	if (req.isvoli()) return;
	if (!req.url.hasOwnProperty('login')) return req.end('missing "login" parameter');

	var conn = DB.connection();
	if (req.url.hasOwnProperty('sxesi')) {
		switch (req.url.sxesi) {
		case 'F': var FB = 'ΦΙΛΟΣ'; break;
		case 'B': FB = 'ΑΠΟΚΛΕΙΣΜΕΝΟΣ'; break;
			break;
		default:
			globals.fatal('Service.sxesi.action: ' + req.url.sxesi + ': invalid "sxesi" value');
		}

		query = 'REPLACE INTO `sxesi` (`pektis`, `sxetizomenos`, `sxesi`) VALUES (' +
			conn.escape(req.sinedria.pektis) + ', ' + conn.escape(req.url.login) + ', ' +
			conn.escape(FB) + ')';
	}
	else {
		query = 'DELETE FROM `sxesi` WHERE (`pektis` = BINARY ' + conn.escape(req.sinedria.pektis) +
			') AND (`sxetizomenos` = BINARY ' + conn.escape(req.url.login) + ')';
	}

	conn.query(query, function(conn, rows) {
		conn.free();
		if (rows.affectedRows < 1) return req.end('Απέτυχε ο συσχετισμός');
		req.end();

		var sxesi = new Sxesi({
			pektis: req.sinedria.pektis,
			sxetizomenos: req.url.login,
		});

		var kinisi = new Kinisi({
			'?': 'SX',
			'p': req.sinedria.pektis,
			'l': req.url.login,
		});

		if (req.url.hasOwnProperty('sxesi')) {
			kinisi.x = req.url.sxesi;
			sxesi.sxesi = req.url.sxesi;
			sxesi.sxesiAdd();
		}
		else {
			sxesi.sxesiDel();
		}

		kinisi.kinisiAdd();
	});
}
